package cn.cimoc.util;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Component;
import org.springframework.util.DigestUtils;

/**
 * 全局加密器---保证该对象在内存中只能有一个 其实就是单例
 * 能够实现共享资源使用静态成员来声明
 */
@Component
public class GlobalPasswordEncoder {

    @Autowired
    private PasswordEncoder passwordEncoder;

    /**
     * 执行加密
     * @param rawPassword 明文密码
     * @return 密文密码
     */
    public  String encode(String rawPassword){
        return passwordEncoder.encode(rawPassword);
    }

    /**
     * 执行明文和密码是否匹配
     * @param rawPassword  明文密码
     * @param encodedPassword   密文密码
     * @return
     */
    public boolean matches(String rawPassword,String encodedPassword){
        return passwordEncoder.matches(rawPassword,encodedPassword);
    }
}
